﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mysoft.QuickCode.Common
{
    /// <summary>
    /// 用于查询时过滤字段和值的对象。
    /// </summary>
    public class Filter
    {
        /// <summary>
        /// 字段名称。一般用于对应SQL中的字段名称。
        /// </summary>
        public string Field { set; get; }

        /// <summary>
        /// 字段值。
        /// </summary>
        public object Value
        {
            set
            {
                Values = new object[] { value };
            }
            get
            {
                return (Values != null && Values.Length > 0) ? Values[0] : null;
            }
        }
        
        /// <summary>
        /// 多个字段值，比如在翻译SQL的Between语句的时候，会有两个参数，因此此时会用到次属性。如果只有一个属性的时候，则只会存在一个值，等同于Value属性中存的值。
        /// </summary>
        public object[] Values { set; get; }
    }
}
